public class Main {
    //无返回值无参数
    @FunctionalInterface
    interface NoParameterNoReturn {
        void test();
    }
    //无返回值一个参数
    @FunctionalInterface
    interface OneParameterNoReturn {
        void test(int a);
    }
    //无返回值多个参数
    @FunctionalInterface
    interface MoreParameterNoReturn {
        void test(int a,int b);
    }
    //有返回值无参数
    @FunctionalInterface
    interface NoParameterReturn {
        int test();
    }
    //有返回值一个参数
    @FunctionalInterface
    interface OneParameterReturn {
        int test(int a);
    }
    //有返回值多参数
    @FunctionalInterface
    interface MoreParameterReturn {
        int test(int a,int b);
    }
    //无返回值一个参数
    public static void main(String[] args) {
        OneParameterNoReturn oneParameterNoReturn = a->{
            System.out.println(a);
        };
        oneParameterNoReturn.test(1);
    }
    //无返回值无参数
    public static void main3(String[] args) {
        NoParameterNoReturn noParameterNoReturn = ()->{
            System.out.println("haha");
        };
        noParameterNoReturn.test();
    }
    //有返回值一个参数
    public static void main2(String[] args) {
        OneParameterReturn oneParameterReturn = a -> {
            return a;
        };
        System.out.println(oneParameterReturn.test(1));

    }
    public static void main1(String[] args) {
        //有返回值多参数
    MoreParameterReturn moreParameterReturn = (a,b)-> {
           return a+b;
    };
        System.out.println(moreParameterReturn.test(1, 2));
    }
}